/**
 * @file dboeuvre.h
 * @brief Fichier d'entête du module dboeuvre.
 *
 * @author Delory Rachid, Keita Mamadou, Bernard Florian
 */
#ifndef H_DB_OEUVRE_H
#define H_DB_OEUVRE_H

/* *********************************************************************

                   Librairies de Oeuvre

********************************************************************* */

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "database.h"
#include "dbgenre.h"
#include "dbdate.h"
#include "dbactivite.h"
#include "dbfilm.h"
#include "dbmusique.h"
#include "dblivre.h"
#include "dblabel.h"
#include "../core/oeuvre.h"
#include "../core/arbre.h"
#include "../core/date.h"
#include "../core/public.h"

/* *********************************************************************

                Fonctions relatives aux oeuvre

********************************************************************* */

/**
 * @fn void recuperation_DOeu(Arbre *arbre, const int id);
 * @brief Récupération des oeuvres dont le père est l'id
 *
 * @param[in,out] arbre arbre qui va contenir les oeuvres.
 * @param id Identifiant de l'arbre.
 */
void recuperation_DOeu(Arbre *arbre, const int id);

/**
 * @fn void insertion_DOeu(Oeuvre *oeuvre);
 * @brief insertion des oeuvres dont le père est l'id
 *
 * @param[in,out] oeuvre oeuvre qui va contenir les oeuvres.
 * @param id Identifiant de l'oeuvre.
 */
void insertion_DOeu(Oeuvre *oeuvre);

/**
 * @fn void estVue_DOeu(Arbre *arbre, const int id);
 * @brief Permet de noter comme "vue" les oeuvres dont le père est l'id
 *
 * @param[in,out] arbre arbre qui va contenir les oeuvres.
 * @param id Identifiant de l'arbre.
 */
void setVue_DOeu(Oeuvre *oeuvre, const int b);

/**
 * @fn void suppression_DOeu(Oeuvre *oeu);
 * @brief Permet de supprimer les oeuvres dont le père est l'id
 *
 * @param[in,out] arbre arbre qui va contenir les oeuvres.
 * @param id Identifiant de l'arbre.
 */
void suppression_DOeu(Oeuvre *oeu);

#endif
